package com.hyq.mediator;
/**
* @ClassName: Mediator 
* @Description: 定义抽象中介者类  用于各个同事之间交流
* @author Janus
 */
public abstract class Mediator {
	//三位同事 A、B、C
	protected ConcreteColleagueA A;
	protected ConcreteColleagueB B;
	protected ConcreteColleagueC C;
	
	public ConcreteColleagueA getA() {
		return A;
	}
	public void setA(ConcreteColleagueA a) {
		this.A = a;
	}
	public ConcreteColleagueB getB() {
		return B;
	}
	public void setB(ConcreteColleagueB b) {
		this.B = b;
	}
	public ConcreteColleagueC getC() {
		return C;
	}
	public void setC(ConcreteColleagueC c) {
		this.C = c;
	}
	/*
	 * 同事之间相互交流
	 * 中介者模式的业务逻辑
	 */
	public abstract void communicateA();
	public abstract void communicateB();
	public abstract void communicateC();
}
